<template>
  <div class="hello">
    <input :value="helloModel" @input="input" />
    <div>
      <slot :slotData="slotData" />
    </div>
  </div>
</template>

<script>
export default {
  name: "HelloWorld",
  model: {
    prop: "helloModel",
    event: "change",
  },
  props: {
    helloModel: String,
  },
  data() {
    return {
      slotData: "hello slotData",
    };
  },
  methods: {
    input(event) {
      this.$emit("change", event.target.value);
      this.slotData = event.target.value;
    },
  },
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss">
h3 {
  margin: 40px 0 0;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  display: inline-block;
  margin: 0 10px;
}
a {
  color: #42b983;
}
</style>
